﻿
namespace GMS.Framework.Common
{
    /// <summary>
    /// 常量定义
    /// </summary>
    public class CommonConst
    {
        /// <summary>
        /// 通用常量string "0"
        /// </summary>
        public const string CONST_STRING_ZERO = "0";

        /// <summary>
        /// 通用常量string "1"
        /// </summary>
        public const string CONST_STRING_ONE = "1";

        /// <summary>
        /// 通用常量string "2"
        /// </summary>
        public const string CONST_STRING_TWO = "2";

        /// <summary>
        /// 通用常量string "3"
        /// </summary>
        public const string CONST_STRING_THREE = "3";

        /// <summary>
        /// 通用int常量3
        /// </summary>
        public const int CONST_INT_THREE = 3;

        /// <summary>
        /// 通用常量string "4"
        /// </summary>
        public const string CONST_STRING_FOUR = "4";

        /// <summary>
        /// 通用常量string "5"
        /// </summary>
        public const string CONST_STRING_FIVE = "5";

        /// <summary>
        /// 通用常量string "6"
        /// </summary>
        public const string CONST_STRING_SIX = "6";

        /// <summary>
        /// 通用常量string "7"
        /// </summary>
        public const string CONST_STRING_SEVEN = "7";

        /// <summary>
        /// 省略号 ...
        /// </summary>
        public const string ELLIPSIS_THREE = "...";

        /// <summary>
        /// 通用常量int 0
        /// </summary>
        public const int CONST_INT_ZERO = 0;

        /// <summary>
        /// 通用常量string 日期格式（yyyy-MM-dd HH:mm）
        /// </summary>
        public const string CONST_DATETIME_YMDHM = "yyyy-MM-dd HH:mm";

        /// <summary>
        /// 通用常量string 日期格式（yyyy-MM-dd HH:mm:ss）
        /// </summary>
        public const string CONST_DATETIME_YMDHMS = "yyyy-MM-dd HH:mm:ss";

        /// <summary>
        /// 未处理
        /// </summary>
        public const string FOLLOW_STATUS_NOT_DONE = "未处理";

        /// <summary>
        /// 联系方式无效
        /// </summary>
        public const string FOLLOW_STATUS_USE_LESS_PHONE = "联系方式无效";

        /// <summary>
        /// 初访
        /// </summary>
        public const string FOLLOW_STATUS_FIRST_ASK = "初访";

        /// <summary>
        /// 意向
        /// </summary>
        public const string FOLLOW_STATUS_WANTED = "意向";

        /// <summary>
        /// 报名
        /// </summary>
        public const string FOLLOW_STATUS_ENROLL = "报名";

        /// <summary>
        /// 拒绝报名
        /// </summary>
        public const string FOLLOW_STATUS_REJECT = "拒绝报名";

        /// <summary>
        /// 暂时搁置
        /// </summary>
        public const string FOLLOW_STATUS_LIE_OVER = "暂时搁置";

        /// <summary>
        /// 日期格式（yyyy-MM-dd）
        /// </summary>
        public const string CONST_DATETIME_YMD = "yyyy-MM-dd";

        /// <summary>
        /// 班级状态（未开始）
        /// </summary>
        public const string Class_Status_NotStart = "未开始";

        /// <summary>
        /// 班级状态（正在进行）
        /// </summary>
        public const string Class_Status_InProgress = "正在进行";

        /// <summary>
        /// 班级状态（停课）
        /// </summary>
        public const string Class_Status_Finish = "停课";

        /// <summary>
        /// 班级状态（作废）
        /// </summary>
        public const string Class_Status_Cancel = "作废";

        /// <summary>
        /// 班级授课形式（线上班）
        /// </summary>
        public const string Teaching_Way_Online = "线上班";

        /// <summary>
        /// 班级授课形式（线下班）
        /// </summary>
        public const string Teaching_Way_Offline = "线下班";

        /// <summary>
        /// 班级授课形式（线上+线下班）
        /// </summary>
        public const string Teaching_Way_OnlineAndOffline = "线上+线下班";

        /// <summary>
        /// 逗号
        /// </summary>
        public const string STR_COMMA = ",";

        /// <summary>
        /// 中文逗号
        /// </summary>
        public const string CHINESE_COMMA = "，";

        /// <summary>
        /// 1
        /// </summary>
        public const int CONST_INT_ONE = 1;

        /// <summary>
        /// -1
        /// </summary>
        public const int CONST_INT_MINUS_ONE = -1;

        /// <summary>
        /// 2
        /// </summary>
        public const int CONST_INT_TWO = 2;        
        
        /// <summary>
        /// 10
        /// </summary>
        public const int CONST_INT_TEN = 10;

        /// <summary>
        /// null情况的显示“--”
        /// </summary>
        public const string CONST_NULL_STR = "--";

        /// <summary>
        /// 会计教育的行业Id
        /// </summary>
        public const int ID_ACCOUNTING_EDUCATION = 1;

        /// <summary>
        /// decimal转string保留两位小数（0.00显示0.00）
        /// </summary>
        public const string CONST_DECIMAL_TO_STRING_TWO_OR_ZERO = "0.00";

        /// <summary>
        /// decimal转string保留两位小数（0.00显示0）
        /// </summary>
        public const string CONST_DECIMAL_TO_STRING_ZERO = "0.##";

        /// <summary>
        /// 下拉框的Value字段
        /// </summary>
        public const string ValueForSelectList = "Value";

        /// <summary>
        /// 下拉选择框的Text字段
        /// </summary>
        public const string TextForSelectList = "Text";

        /// <summary>
        /// 百分之0
        /// </summary>
        public const decimal ZeroPercent = 0;

        /// <summary>
        /// 汉子“至”
        /// </summary>
        public const string To = "至";

        /// <summary>
        /// 时间格式 HH:MM
        /// </summary>
        public const string TimeOfHAndM = "HH:mm";

        #region 学员报班信息状态

        public const string STUDENT_CLASS_STATUS_NORMAL = "正常";

        public const string STUDENT_CLASS_STATUS_Changed = "已转班";

        public const string STUDENT_CLASS_STATUS_Refund = "已退费";

        public const string STUDENT_CLASS_STATUS_NotStarted = "未开课";

        public const string STUDENT_CLASS_STATUS_InLearning = "在读";

        public const string STUDENT_CLASS_STATUS_ClassEnded = "已结课";

        #endregion

        /// <summary>
        /// ID
        /// </summary>
        public const string STR_ID = "ID";

        /// <summary>
        /// Name
        /// </summary>
        public const string STR_NAME = "Name";

        /// <summary>
        /// RealName
        /// </summary>
        public const string STR_REAL_NAME = "RealName";

        /// <summary>
        /// ChineseName
        /// </summary>
        public const string STR_CHINESE_NAME = "ChineseName";

        /// <summary>
        /// Value
        /// </summary>
        public const string STR_VALUE = "Value";

        /// <summary>
        /// Text
        /// </summary>
        public const string STR_TEXT = "Text";

        /// <summary>
        /// .xls
        /// </summary>
        public const string EXT_XLS = ".xls";

        /// <summary>
        /// .xlsx
        /// </summary>
        public const string EXT_XLSX = ".xlsx";

        /// <summary>
        /// fileService
        /// </summary>
        public const string APP_KEY_FILE_SERVER = "fileService";

        /// <summary>
        /// UserDefaultImg
        /// </summary>
        public const string APP_KEY_USER_DEFAULT_IMG = "UserDefaultImg";

        /// <summary>
        /// filedefaultImg
        /// </summary>
        public const string FILEDE_fFAULTIMG = "filedefaultImg";

        /// <summary>
        /// 机构公告图片
        /// </summary>
        public const string NOTE_DEFAULT_IMG = "notedefaultImg";

        /// <summary>
        /// categoryFiledefaultImg
        /// </summary>
        public const string CATEGORY_FILEDEFAULTIMG = "categoryFiledefaultImg";

        /// <summary>
        /// 机构logo默认图片配置key
        /// </summary>
        public const string LOGO_DEFAULT_IMG = "logoDefImg";

        /// <summary>
        /// 机构微信二维码默认图片配置key
        /// </summary>
        public const string WEQR_DEFAULT_IMG = "weQrDefImg";

        /// <summary>
        /// 机构微博默认图片配置key
        /// </summary>
        public const string BLOG_DEFAULT_IMG = "blogDefImg";

        /// <summary>
        /// 机构菜单式菜单默认图片配置key
        /// </summary>
        public const string MENU_DEFAULT_IMG = "menuDefImg";

        /// <summary>
        /// 机构矩阵式菜单默认图片配置key
        /// </summary>
        public const string MATRIX_DEFAULT_IMG = "matrixDeftImg";

        #region 微信支付相关常量

        /// <summary>
        /// 微信支付成功
        /// </summary>
        public const string WECHAT_SUCCESS = "SUCCESS";

        /// <summary>
        /// 订单编号生成类型
        /// </summary>
        public const string ORDER_NUMBER_TYPE = "yyyyMMddHHmmssffff";

        /// <summary>
        /// 失效时间
        /// </summary>
        public const string TIME_TYPE = "yyyyMMddHHmmss";

        /// <summary>
        /// 模拟交易
        /// </summary>
        public const string SUBJECT_TYPE = "模拟交易";

        /// <summary>
        /// 自定回调地址
        /// </summary>
        public const string NOTIFYURL_SELF = "/OISchoolConfig/Index";

        /// <summary>
        /// 回调拼接
        /// </summary>
        public const string APPEND_NOTIFYURL = "{0}?OutTradeNo={1}";

        /// <summary>
        /// 模拟交易金额
        /// </summary>
        public const decimal PAPER_TRADING_MONEY = (decimal)0.01;

        /// <summary>
        /// 微信交易返回信息 return_code
        /// </summary>
        public const string RETURN_CODE = "return_code";

        /// <summary>
        /// 微信交易返回信息 result_code
        /// </summary>
        public const string RESULT_CODE = "result_code";

        /// <summary>
        /// 交易编号 out_trade_no
        /// </summary>
        public const string OUT_TRADE_NO = "out_trade_no";

        /// <summary>
        /// 交易状态 trade_state
        /// </summary>
        public const string TRADE_STATE = "trade_state";

        /// <summary>
        /// 交易状态 未支付 NOTPAY
        /// </summary>
        public const string NOTE_PAY = "NOTPAY";

        /// <summary>
        /// 报错 err_code
        /// </summary>
        public const string ERR_CODE = "err_code";

        /// <summary>
        /// 订单不存在
        /// </summary>
        public const string ORDER_NOT_EXIST = "ORDERNOTEXIST";

        /// <summary>
        /// 总数计算参数
        /// </summary>
        public const int TOTAL_FEEL_RECKON = 100;

        /// <summary>
        /// 失效时间计算
        /// </summary>
        public const int INVALID_TIME = 10;

        /// <summary>
        /// 二维码路径
        /// </summary>
        public const string CODE_URL = "code_url";

        /// <summary>
        /// 二维码保存路径
        /// </summary>
        public const string WECHAT_CODE_SAVE_URL = "~/FilesServer/wechatpay/{0}/";

        /// <summary>
        /// 保存数据库路径
        /// </summary>
        public const string WECHAT_CODE_SAVE_SEVER = "/wechatpay/{0}/";

        /// <summary>
        /// 二维码图片类型
        /// </summary>
        public const string CODE_IMAGE_TYPE = ".png";

        /// <summary>
        /// 二维码存储文件夹
        /// </summary>
        public const string CODE_IMAGE_FILE = "QrCode";

        /// <summary>
        /// 微信回调地址
        /// </summary>
        public const string WECHAT_NOTIFY_URL = "WeChatNotifyUrl";

        #endregion

        #region 支付宝支付相关常量

        /// <summary>
        /// 模拟交易0.01元
        /// </summary>
        public const string TOTAL_FEE = "0.01";

        /// <summary>
        /// "http://"
        /// </summary>
        public const string HTTP = "http://";

        /// <summary>
        /// 支付宝支付服务器异步通知页面路径
        /// </summary>
        public const string NOTYFY_URL = "/TopOnline/OlSchoolConfig/AliPaySuccessOrFail";

        /// <summary>
        /// 支付宝支付页面跳转同步通知页面路径
        /// </summary>
        public const string RETURN_URL = "/TopOnline/OlSchoolConfig/AliPaySuccessOrFail";

        /// <summary>
        /// 确认（支付宝拼接form是的确认按钮）
        /// </summary>
        public const string CONFIRM = "确认";

        /// <summary>
        /// 支付宝回调地址
        /// </summary>
        public const string ALIPAY_NOTIFY_URL = "AliPayNotifyUrl";

        /// <summary>
        /// 支付宝返回地址
        /// </summary>
        public const string ALIPAY_RETURN_URL = "AliPayReturnUrl";

        /// <summary>
        /// 支付宝信息错误跳转页
        /// </summary>
        public const string ALIPAY_INFO_ERROR_URL = "/TopOnline/OlSchoolConfig/AliPayInfoFail";

        #endregion

        /// <summary>
        /// firefox
        /// </summary>
        public const string STR_FIREFOX = "firefox";

        /// <summary>
        /// 最小时间字符串
        /// </summary>
        public const string STR_MIN_DATE = "0001/1/1 0:00:00";
    }
}